package com.cata.mall.config;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * @作者: Tao
 * @日期: 2025/10/11
 * @时间: 15:33
 * @描述: MyBatis相关配置
 * <pre>
 *     -@EnableTransactionManagement:
 *     该注解用于开启Spring框架的事务管理能力，使得可以在业务方法上使用@Transactional注解来声明事务边界。当该注解应用于配置类时，Spring会自动注册事务管理相关的后置处理器和代理机制。
 *     使用此注解后，Spring会：
 *          1. 自动检测并处理带有@Transactional注解的方法
 *          2. 为事务方法创建代理对象
 *          3. 管理事务的开始、提交和回滚操作
 *
 *     -@MapperScan:
 *     该注解用于指定MyBatis的Mapper接口所在的包路径。Spring会自动扫描该包下的接口并创建对应的Mapper代理对象，并注入到Spring容器中。
 *     扫描的包路径包括：
 *          - com.cata.mall.mapper：商城Mapper接口包
 *          - com.cata.mall.dao：商城数据访问对象包
 */
@Configuration
@EnableTransactionManagement
@MapperScan({"com.cata.mall.mapper","com.cata.mall.dao"})
public class MyBatisConfig {
}
